The invention relates generally to object-oriented data processing and system management, and more particularly to a layer of abstraction providing location and type independence in accessing configuration information in a catalog environment.
Many executable software programs or applications require access to system-wide, configuration-type information at times when the application is being installed or modified on a computer system, i.e., at configuration time and at the time the application is executed to perform its intended function, i.e., at run time. The application needs to access configuration information related to available resources on the local computer system and through connected computers across a computer network. These resources include available software and hardware tools as well as available services offered by the system that improve the functionality of the program within the overall system.
Accessing this information is typically done through direct access to a xe2x80x9cregistryxe2x80x9d located on each computer system. The registry is simply a place to store and read configuration information. Meanwhile, a transaction management system provides services through embedded logic to an application. The services may relate to such items as security, validation, roles, etc. as well as network communication and conflict management.
The services are typically exploited through an attribute-based programming scheme which allows program developers to specify the services and resources required by an application by setting properties (or xe2x80x9cattributesxe2x80x9d) of each application or component rather than implementing or calling those services directly from the implementation code. Attributes include a particular set of configuration information that is made available to various callers in an attribute-based environment.
Even in an attribute-based programming environment, the application desiring data and services must know where the information comes from in the system. Moreover, the program typically must know the format that the information is stored in to be able to access the information. In existing approaches, the system registry has been used to store configuration data for a particular machine. However, in existing approaches, a programmer was required to access and manipulate registry information directly, introducing undesirable program complexity and exposing the registry to corruption by improper programming. Moreover, the distribution of configuration information among multiple datastores (i.e., in addition to the registry) and data formats is not accommodated by existing approaches, particularly if the location and format of data is expected to evolve over time. In current approaches, the implementation code itself must be altered in order to handle location and format changes to configuration information. Accordingly, existing approaches lack location and format independence that can provide the desired flexibility for storage and access to configuration information in a computer system.
It is with respect to these and other aspects that the present invention has been made.
The present invention relates to an abstraction layer in a catalog management system for accessing system configuration information. The catalog management system presents the configuration information that is stored in a datastore to a computer process caller. In order to present the information to the caller, the catalog management system retrieves the information and then stores it in cache memory so that the datastore is encapsulated from the caller. The request for the configuration information may be both location independent and type independent.
In accordance with preferred aspects, the present invention relates to an abstraction layer having a data table object interface module and a logic table object module. The data table object module has a cache memory module which is accessible by the caller and is adapted to store the configuration information to be presented to the caller. The data table object module also has a datastore interaction code module which is adapted to retrieve the configuration information from the datastore and populate the memory with the information. The logic table object has an interception/delegation module which intercepts calls from the caller and delegates commands to the data table object interface module to provide an additional layer of processing. The abstraction layer preferably uses a wiring database to determine the location of the datastores to provide the configuration information.
These and various other features as well as advantages which characterize the present invention will be apparent from a reading of the following detailed description and a review of the associated drawings.